New Algorithm for Slicing Unstructured Pro - grams

نویسنده

  • MARK HARMAN
چکیده

SUMMARY Program slicing is an automatic program abstraction technique whose many applications include software maintenance, re{engineering and comprehension, all of which rely crucially upon the precision of the slicing algorithm used. When slicing is applied to maintenance problems, the programs to be sliced are typically legacy systems, often written in older, `unstructured' programming styles. For slicing to be a useful tool to the software maintainer it is therefore important to have precise algorithms for slicing unstructured programs. Unfortunately the standard algorithms for slicing structured programs do not extend correctly to the unstructured paradigm, and currently proposed modiications to these standard algorithms produce either unnecessarily large slices or slices which are not true subsets of the original program from which they are constructed. This paper introduces a modiication of Agrawal's algorithm for slicing unstructured programs , which overcomes these diiculties. The new algorithm produces thinner slices than any previously published algorithm while respecting both the semantic and syntactic constraints of slicing. c

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Theory and algorithms for slicing unstructured programs

Program slicing identifies parts of a program that potentially affect a chosen computation. It has many applications in software engineering, including maintenance, evolution and re-engineering of legacy systems. However, these systems typically contain programs with unstructured control-flow, produced using goto statements; thus, effective slicing of unstructured programs remains an important ...

متن کامل

The Application of Term Rewriting Systems for Expressing Generic Program Slicing Algorithms

Program slicing is a technique in software engineering for isolating parts of a program that influence the value of a variable or some other arbitrary expression in that program. There exist many different slicing algorithms, with specific techniques for a variety of language features such as procedures, unstructured control flow, composite data types, pointers, concurrency, etc. This paper sho...

متن کامل

Handling Pointers and Unstructured Statements in the Forward Computed Dynamic Slice Algorithm

Different program slicing methods are used for debugging, testing, reverse engineering and maintenance. Slicing algorithms can be classified as a static slicing or dynamic slicing type. In applications such as debugging the computation of dynamic slices is more preferable since it can produce more precise results. In a recent paper [5] a new so-called “forward computed dynamic slice” algorithm ...

متن کامل

Opinion Summarization for Hotel Reviews

This paper presents a new approach for finding the best ngrams that efficiently summarize a large set of reviews. The proposed unsupervised method uses a readability score and a representativeness score to select those n-grams that best convey the main opinions contained in the processed reviews. In order to further refine the selected n-grams, we use sentiment analysis and part of speech (POS)...

متن کامل

An optimal algorithm for 3D triangle mesh slicing

We describe an algorithm for slicing an unstructured triangular mesh model by a series of parallel planes. We prove that the algorithm is asymptotically optimal: its time complexity is O(n log k+k+m) for irregularly spaced slicing planes, where n is the number of triangles, k is the number of slicing planes, andm is the number of triangle-plane intersections segments. The time complexity reduce...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998